/* subpackage_volleyball/knowledge_rules/knowledge_rules.wxss */
.rules-page {
  --primary-color: #FF6B35;
  --primary-light: #FFE8DE;
  --text-color: #333;
  --subtext-color: #666;
  --card-bg: #fff;
  --bg: #f8f9fa;

  min-height: 100vh;
  background-color: var(--bg);
  padding: 180rpx 30rpx 40rpx; /* 预留自定义导航栏空间 */
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

/* Banner 图片区域 */
.banner-wrap {
  position: relative;
  height: 320rpx;
  border-radius: 20rpx;
  overflow: hidden;
  margin-bottom: 24rpx;
  box-shadow: 0 8rpx 24rpx rgba(255, 107, 53, 0.25);
}
.banner-img {
  width: 100%;
  height: 100%;
  display: block;
}
.banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(255,107,53,0.18) 60%, rgba(0,0,0,0.35) 100%);
}
.banner-text {
  position: absolute;
  left: 20rpx;
  right: 20rpx;
  bottom: 20rpx;
  color: #fff;
}

/* 原有标题样式复用到 Banner 文案 */
.hero-title {
  font-size: 40rpx;
  font-weight: 700;
  margin-bottom: 8rpx;
  color: #fff;
}
.hero-subtitle {
  font-size: 26rpx;
  color: rgba(255, 255, 255, 0.95);
}

/* 头部横幅 */
.hero {
  background: linear-gradient(135deg, var(--primary-color) 0%, #FF8C42 100%);
  color: #fff;
  border-radius: 20rpx;
  padding: 36rpx 30rpx;
  box-shadow: 0 8rpx 24rpx rgba(255, 107, 53, 0.25);
  margin-bottom: 24rpx;
}
.hero-title {
  font-size: 40rpx;
  font-weight: 700;
  margin-bottom: 8rpx;
}
.hero-subtitle {
  font-size: 26rpx;
  color: rgba(255, 255, 255, 0.9);
}

/* 提示条 */
.tip {
  display: flex;
  align-items: center;
  background-color: var(--primary-light);
  color: var(--primary-color);
  border-left: 8rpx solid var(--primary-color);
  border-radius: 12rpx;
  padding: 16rpx 20rpx;
  margin-bottom: 24rpx;
}
.tip-icon {
  margin-right: 12rpx;
  font-size: 28rpx;
}
.tip-text {
  font-size: 26rpx;
}

/* 卡片 */
.card {
  background-color: var(--card-bg);
  border-radius: 18rpx;
  box-shadow: 0 6rpx 18rpx rgba(0, 0, 0, 0.06);
  padding: 26rpx 26rpx 10rpx;
  margin-bottom: 26rpx;
}
.card-title {
  display: flex;
  align-items: center;
  margin-bottom: 16rpx;
}
.card-title .dot {
  width: 28rpx;
  height: 28rpx;
  border-radius: 50%;
  background-color: var(--primary-color);
  box-shadow: 0 4rpx 10rpx rgba(255, 107, 53, 0.35);
  margin-right: 14rpx;
  flex-shrink: 0;
}
.card-title .title-text {
  font-size: 32rpx;
  color: var(--text-color);
  font-weight: 700;
}
.card-content {
  padding: 6rpx 4rpx 16rpx;
}

/* 列表项 */
.list-item {
  display: flex;
  align-items: flex-start;
  padding: 16rpx 8rpx;
  border-bottom: 2rpx solid #f0f0f0;
}
.list-item:last-child {
  border-bottom: none;
}
.list-index {
  background-color: var(--primary-color);
  color: #fff;
  width: 40rpx;
  height: 40rpx;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24rpx;
  font-weight: 700;
  margin-right: 16rpx;
  margin-top: 6rpx;
  box-shadow: 0 4rpx 12rpx rgba(255, 107, 53, 0.3);
  flex-shrink: 0;
}
.list-text {
  flex: 1;
  font-size: 28rpx;
  color: var(--text-color);
  line-height: 1.7;
}

/* FAQ */
.faq-item {
  padding: 8rpx 0 18rpx;
  border-bottom: 2rpx solid #f5f5f5;
}
.faq-item:last-child {
  border-bottom: none;
}
.faq-q, .faq-a {
  display: flex;
  align-items: flex-start;
  margin: 8rpx 0;
}
.badge {
  background-color: var(--primary-color);
  color: #fff;
  width: 34rpx;
  height: 34rpx;
  border-radius: 50%;
  font-size: 22rpx;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 12rpx;
  margin-top: 6rpx;
  box-shadow: 0 4rpx 12rpx rgba(255, 107, 53, 0.3);
}
.badge.a {
  background-color: #1890FF;
}
.q-text, .a-text {
  flex: 1;
  font-size: 28rpx;
  color: var(--text-color);
  line-height: 1.7;
}

/* 页脚 */
.footer {
  color: #888;
  font-size: 24rpx;
  text-align: center;
  margin-top: 10rpx;
}